package com.mdxq.springboot04_mybatis_plus.service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mdxq.springboot04_mybatis_plus.entity.Tea;
import com.mdxq.springboot04_mybatis_plus.mapper.TeaMapper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author WanJl
 * @version 1.0
 * @title TeaService
 * @description
 * @create 2024/11/18
 */
@Service
public class TeaService extends ServiceImpl<TeaMapper, Tea> {

    @Resource
    private TeaMapper teaMapper;

    /**
     * 查询所有茶叶信息(不分页)
     * @return
     */
    public List<Tea> queryAll() {
        //selectList(null):获取某个表数据的集合，跟条件获取，无条件则传入null
        return teaMapper.selectList(null);
    }

    /**
     * 增加茶叶信息
     * @param tea 茶叶
     * @return 被修改的行数
     */
    public Integer saveTea(Tea tea) {
        // 向表中新增数据的方法，参数是一个实体类对象，如主键属性值为null，则采取mybatis-plus的主键生成策略。
        return teaMapper.insert(tea);
    }

    /**
     * 修改茶叶信息
     * @param tea 茶叶
     * @return 被修改的行数
     */
    public Integer edit(Tea tea) {
        // 根据id进行修改的方法，传入的参数是一个实体类对象。必须传入id值。否则抛异常
        //实体类对象的id值作为SQL语句的WHERE条件，其余参数为需要修改的内容
        return teaMapper.updateById(tea);
    }

    /**
     * 删除茶叶信息
     * @param id 茶叶的id
     * @return 被修改的行数
     */
    public Integer remove(Integer id) {
        //根据id删除指定的数据记录
        return teaMapper.deleteById(id);
    }

    /**
     * 根据id查询单个茶叶信息
     * @param id 茶叶id
     * @return 茶叶信息
     */
    public Tea queryById(Integer id){
        //根据id查询指定的数据记录
        return teaMapper.selectById(id);
    }
}
